iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
AI & Data

利用SeamlessM4T學習語音辨識架構及應用系列 第 11

DAY11 - SeamlessM4T的ASR功能使用測試

  • 分享至 

  • xImage
  •  

ASR(Automatic Speech Recognition)為語音辨識模型,語言可以選擇,不管是輸入及輸出都可以選擇語言,所涵蓋的語言代號請參考連結:SeamlessM4T語言別代號。本篇使用SeamlessM4T的ASR功能,看看使用流程是否容易上手,以及翻譯結果的準確性。

安裝SeamlessM4T

安裝SeamlessM4T請參考文章安裝SeamlessM4T

使用步驟

先導入模型,本次推出的SeamlessM4T有兩種型號:seamlessM4T_large與seamlessM4T_large。以large版本為例,執行以下程式碼後即已備好模型:

import torch
from seamless_communication.models.inference import Translator

**translator = Translator(
    "seamlessM4T_large",
    "vocoder_36langs",
    torch.device("cuda:0"),
    torch.float16,
)

此步驟的用意為在GPU上初始化一個轉譯器,選用模型"seamlessM4T_large",以及聲碼器"vocoder_36langs",官方建議選擇半精度浮點數(float16)可能是因為要節省記憶體,但可能因此影響翻譯精準度。

將此文本丟入translator中,設定模型為”asr”,來源語言為英文,目標語言為中文(官方公布的代碼為cmn),我使用的音檔為英文語音 ”We used to be friendly with some people who worked at the Swedish Embassy.播放

# This is equivalent to S2TT with `<tgt_lang>=<src_lang>`.
transcribed_text, _, _ = translator.predict(
                "./input.wav",
                "asr",
                src_lang="eng",
                tgt_lang="cmn")

print(transcribed_text)   #我们曾经和一些在瑞典大使馆工作的人友好 ⁇

由英語語音轉譯為中文文本,結果也莫名其妙多了兩個問號,且語句不是很通順。

總結

利用SeamlessM4T的ASR功能(Automatic Speech Recognition),將輸入語音匯入預備好的轉譯器(Translator),選擇任務asr,設定目標語言即可做轉譯。本篇使用英語語音轉中文文本,翻譯內容不是很通順,且筆者覺得它的功能跟S2TT有重疊到,這個功能感覺上會被S2TT取代。


上一篇
DAY10 - SeamlessM4T的T2ST功能體驗
下一篇
DAY12 - SeamlessM4T的Translator及predict程式碼架構
系列文
利用SeamlessM4T學習語音辨識架構及應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言